package vg.services.graph_view_manager.interfaces.graph_view;

import vg.interfaces.ll_services.data_base_service.data.graph.Graph;

/**
 * Determines method for creating graph view.
 *
 * @author Timur Zolotuhin (e-mail: tzolotuhin@gmail.com)
 */
public interface IGraphViewFactory {
    /**
     * Creates graph view from existing graph view and some input graph.
     */
    public abstract AGraphView createGraphView(AGraphView srcGraphView, Graph srcGraph);

    /**
     * Creates graph view from some input graph.
     */
    public abstract AGraphView createGraphView(Graph srcGraph);

    /**
     * Creates graph view from empty input graph.
     */
    public abstract AGraphView createGraphView();
}
